package com.hsj.common.system.vo.request;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import lombok.experimental.Accessors;
import java.io.Serializable;

import java.util.Date;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 系统菜单 新增对象
 * @Author: Czy
 * @Date: 2024-01-23 23:03:26
 * @Email: 314170122@qq.com
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel("系统菜单新增对象")
public class ReqSysMenuCreateVo implements Serializable {
 
    /**
    * 菜单名
    */
    @NotBlank(message="菜单名不能为空字符串")
    @ApiModelProperty("菜单名")
    private String name;
 
    /**
    * 上级菜单id
    */
    @NotNull(message="上级菜单id不能为空")
    @ApiModelProperty("上级菜单id")
    private Integer parentId;
 
    /**
    * 菜单类型
    */
    @NotNull(message="菜单类型不能为空")
    @ApiModelProperty("菜单类型")
    private String type;
 
    /**
    * 菜单别名
    */
    @NotBlank(message="菜单别名不能为空字符串")
    @ApiModelProperty("菜单别名")
    private String alias;
 
    /**
    * 菜单图标代码
    */
    @NotBlank(message="菜单图标代码不能为空字符串")
    @ApiModelProperty("菜单图标代码")
    private String icon;
 
    /**
    * 路由地址
    */
    @NotBlank(message="路由地址不能为空字符串")
    @ApiModelProperty("路由地址")
    private String routePath;
 
    /**
    * 重定向地址
    */
    @NotBlank(message="重定向地址不能为空字符串")
    @ApiModelProperty("重定向地址")
    private String redirectUrl;
 
    /**
    * 视图
    */
    @NotBlank(message="视图不能为空字符串")
    @ApiModelProperty("视图")
    private String view;
 
    /**
    * 颜色代码
    */
    @NotBlank(message="颜色代码不能为空字符串")
    @ApiModelProperty("颜色代码")
    private String color;
 
    /**
    * 隐藏类型
    */
    @NotBlank(message="隐藏类型不能为")
    @ApiModelProperty("隐藏类型")
    private Boolean hidden;
 
    /**
    * 整页路由
    */
    @NotNull(message="整页路由不能为空")
    @ApiModelProperty("整页路由")
    private Boolean fullPage;
 
    /**
    * 标签
    */
    @NotBlank(message="标签不能为空字符串")
    @ApiModelProperty("标签")
    private String tag;

    /**
    * 树形层级目录
    */
    @NotBlank(message="树形层级目录不能为空字符串")
    @ApiModelProperty("树形层级目录")
    private String path;

}
